#直方图 掩膜
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

img=cv.imread("F:\\11\\20.png")
def show1(img,name):#利用matplotlib显示图像
    plt.imshow(img[:, :, ::-1])
    plt.title(name), plt.xticks([]), plt.yticks([])
    plt.show()
def show(img,name):#利用matplotlib显示图像
    plt.title(name), plt.xticks([]), plt.yticks([])
    plt.plot(img)
    plt.grid()
    plt.show()
def histr(mask):#获取图像的直方图参数
    histr=cv.calcHist([img],[0],mask,[256],[0,256])
    return histr
def mask(img):
    mask=np.zeros(img.shape[:2],np.uint8)
    mask[400:650,200:500]=255
    return mask
def mask_img(mask):
    mask_img=cv.bitwise_and(img,img,mask=mask)#是创建的mask与原图像进行与运算得到掩膜蒙版
    return mask_img
if __name__=='__main__':
    show(histr(mask(img)),"histr")
    show1(mask_img(mask(img)),"mask_img")